Method of detecting packet error of return link performed in satellite communication apparatus

ABSTRACT

Provided is a method of detecting a packet error of a return link performed in a satellite communication apparatus receiving a packet through the return link. The method includes generating a first return link packet combination by assembling at least one fragmented packet received through the return link, and determining an error of the packet using at least one piece of information among fragmentation information on at least one second return link packet received after the first return link packet combination is generated, whether or not the first return link packet combination is complete, and packet process state information. Accordingly, it is possible to minimize packet loss caused by a reassembly error of a received packet.

CLAIM FOR PRIORITY

This application claims priority to Korean Patent Application No.10-2011-0086432 filed on Aug. 29, 2011 in the Korean IntellectualProperty Office (KIPO), the entire contents of which are herebyincorporated by reference.

BACKGROUND

1. Technical Field

Example embodiments of the present invention relate in general to apacket error detection method, and more particularly, to a method ofdetecting a packet error of a return link that is performed in asatellite communication apparatus and can be applied to detection of anerror of a packet transmitted through a return link from a satelliteterminal device to a central station.

2. Related Art

Due to a generational advance in mobile communication technology and therapid development of high-speed Internet technology, it has becomepossible to readily use various information communication servicesincluding the Internet in a fixed or mobile environment. These days,users and service providers are increasingly demanding high-speed mobilecommunication services that can be provided at any time in any placewithout limitations of space. However, existing communication servicesbased on ground networks cannot satisfy such demands due to limitationsof areas in which the communication services can be provided.

Meanwhile, satellite communication technology is regarded as the onlymeans capable of providing a communication service to special mobileobjects, such as high-speed mobile objects and ships, as well as regionsthat cannot be connected via a ground network using a very smallaperture terminal (VSAT) requiring small capacity and low power, andassociated research is actively ongoing. In particular, since asatellite communication system enables construction of a global serviceinfrastructure and can provide a high-quality communication service,work for building a system that supports a ubiquitous networkenvironment using the satellite communication technology is under way.

In a bidirectional satellite communication system, broadcasting andcommunication data transmission from a central station to a satelliteterminal device (or terminal station) is performed through a forwardlink according to a Digital Video Broadcasting via Satellite (DVB-S)standard, and broadcasting and communication data transmission from thesatellite terminal device to the central station is performed through areturn link according to a DVB-Return Channel via Satellite (RCS)standard.

Lately, universalization of Internet services based on satellitenetworks is requiring technology for a satellite terminal device toprovide high-quality service through a highly efficient return link.Standardization relating to this technology is currently beingcompleted. As an encapsulation technique, there is a method ofdetermining a packet error of a satellite return link using cyclicredundancy check (CRC) or packet sequence number information andreassembling a packet.

In U.S. Patent Publication No. 2008-0175247 (title of the invention:Network layer error control systems and methods), a network layer errorcontrol method is disclosed in which a predetermined device generates anerror control header for a received packet, encapsulates the generatederror control header to transmit the error control header at the networklayer, and then transmits the encapsulated error control header, and adevice receiving the transmitted error control header processes theerror control header and analyzes error control information.

However, hitherto proposed return link techniques show low transmissionefficiency, or process normally received subsequent packets as loss in aburst error transmission environment.

SUMMARY

Accordingly, example embodiments of the present invention are providedto substantially obviate one or more problems due to limitations anddisadvantages of the related art.

Example embodiments of the present invention provide a return linkpacket error detection method in a satellite communication systemwhereby loss of a packet transmitted through a return link of thesatellite communication system can be minimized.

In some example embodiments, a method of detecting a packet error of areturn link performed in a satellite communication apparatus receiving apacket through the return link includes: generating a first return linkpacket combination by assembling at least one fragmented packet receivedthrough the return link; and determining an error of the packet using atleast one piece of information among fragmentation information on atleast one second return link packet received after the first return linkpacket combination is generated, whether or not the first return linkpacket combination is complete, and packet process state information.

Here, determining an error of the packet may include, when the firstreturn link packet combination is not complete and the second returnlink packet is an intermediate packet or an end packet, determiningwhether or not there is a packet error on the basis of a comparisonresult between a length of a combination of the first return link packetcombination and the second return link packet and a total lengthacquired from the first return link packet combination.

Here, determining an error of the packet may include, when the firstreturn link packet combination is not complete, the second return linkpacket is an intermediate packet, and the length of the combination ofthe first return link packet combination and the second return linkpacket is greater than the total length, removing the first return linkpacket combination and the second return link packet.

Here, determining an error of the packet may include, when the firstreturn link packet combination is not complete, the second return linkpacket is an end packet, the length of the combination of the firstreturn link packet combination and the second return link packet is thesame as the total length, and a sequence number of a subsequent packetacquired from the first return link packet combination is the same as asequence number of the second return link packet, determining that thereis no error in the second return link packet, and when the first returnlink packet combination is not complete, the second return link packetis an end packet, and the length of the combination of the first returnlink packet combination and the second return link packet is not thesame as the total length, or the sequence number of the subsequentpacket acquired from the first return link packet combination is not thesame as the sequence number of the second return link packet, removingthe first return link packet combination and the second return linkpacket.

Here, determining an error of the packet may include, when the firstreturn link packet combination is not complete and the second returnlink packet is a start packet or a non-fragmented packet, removing thefirst return link packet combination, determining that no error occursin the second return link packet, and then updating sequence numberinformation on a packet to be received after the second return linkpacket.

Here, determining an error of the packet may include, when only anintermediate packet is included in the first return link packetcombination, storing an intermediate packet process state as the packetprocess state information, and removing the intermediate packet.

Here, determining an error of the packet may include, when the secondreturn link packet received after the intermediate packet is removed isa start packet, checking from the packet process state information thatthe intermediate packet has been removed, and updating a sequence numberof a packet to be received.

BRIEF DESCRIPTION OF DRAWINGS

Example embodiments of the present invention will become more apparentby describing in detail example embodiments of the present inventionwith reference to the accompanying drawings, in which:

FIG. 1 shows type-specific structures of return link packets transmittedthrough a return link in a satellite communication system;

FIG. 2 is a flowchart illustrating a method of detecting a packet errorof a return link in a satellite communication system according to anexample embodiment of the present invention;

FIG. 3 is a flowchart illustrating a packet error determination processshown in FIG. 2 in further detail;

FIG. 4 is a conceptual diagram illustrating a process of determining apacket error using sequence number information on a return link packetillustrated in FIG. 3;

FIG. 5 is a flowchart illustrating a packet error determination processshown in FIG. 2 in further detail; and

FIG. 6 is a conceptual diagram illustrating a process of determining anerror of a packet combination using packet process state informationillustrated in FIG. 5.

DESCRIPTION OF EXAMPLE EMBODIMENTS OF THE PRESENT INVENTION

Example embodiments of the present invention are disclosed herein.However, specific structural and functional details disclosed herein aremerely representative for purposes of describing example embodiments ofthe present invention, however, example embodiments of the presentinvention may be embodied in many alternate forms and should not beconstrued as limited to example embodiments of the present invention setforth herein.

Accordingly, while the invention is susceptible to various modificationsand alternative forms, specific embodiments thereof are shown by way ofexample in the drawings and will herein be described in detail. Itshould be understood, however, that there is no intent to limit theinvention to the particular forms disclosed, but on the contrary, theinvention is to cover all modifications, equivalents, and alternativesfalling within the spirit and scope of the invention.

It will be understood that, although the terms first, second, etc. maybe used herein to describe various elements, these elements should notbe limited by these terms. These terms are only used to distinguish oneelement from another. For example, a first element could be termed asecond element, and, similarly, a second element could be termed a firstelement, without departing from the scope of the present invention. Asused herein, the term “and/or” includes any and all combinations of oneor more of the associated listed items.

It will be understood that when an element is referred to as being“connected” or “coupled” with another element, it can be directlyconnected or coupled with the other element or intervening elements maybe present. In contrast, when an element is referred to as being“directly connected” or “directly coupled” with another element, thereare no intervening elements present. Other words used to describe therelationship between elements should be interpreted in a like fashion(i.e., “between” versus “directly between,” “adjacent” versus “directlyadjacent,” etc.).

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a,” “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises,”“comprising,” “includes” and/or “including,” when used herein, specifythe presence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which this invention belongs. It will befurther understood that terms, such as those defined in commonly useddictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the relevant art andwill not be interpreted in an idealized or overly formal sense unlessexpressly so defined herein.

Hereinafter, example embodiments of the present invention will bedescribed in detail with reference to the appended drawings. To aid inunderstanding the present invention, like numbers refer to like elementsthroughout the description of the figures, and the description of thesame component will not be reiterated.

FIG. 1 shows type-specific structures of return link packets transmittedthrough a return link in a satellite communication system.

Referring to FIG. 1, return link packets transmitted through a returnlink in a satellite communication system include non-fragmented packetsand fragmented packets. Fragmented packets may include a start packet,an intermediate packet, and an end packet. Here, a satellite terminaldevice may transmit non-fragmented packets, or may fragment a packet andthen transmit the fragmented packets. When a return link packet isfragmented and transmitted, one set of a start packet, an intermediatepacket and an end packet are transmitted in sequence as long as there isno loss in the transmission process.

All types of return link packets include a 2-bit start (S) field and a2-bit end (E) field representing the types of return link packets, and apayload adapted protocol data unit (PPDU) length (PPDU_Length) fieldindicating a length of a variable length portion of a PPDU. The start(S) and end (E) fields represent fragmentation information on a returnlink packet. Specifically, S=1 and E=1 represent a non-fragmented returnlink packet 110, and S=1 and E=0 represent a start packet 120 amongfragmented return link packets. Also, S=0 and E=0 represent anintermediate packet 130 among fragmented return link packets, and S=0and E=1 represent end packets 141 and 140 b among fragmented return linkpackets.

The non-fragmented return link packet 110 includes a 2-bit label type(LT) field indicating a label type of an address linked PDU (ALPDU) anda 1-bit T field representing a protocol type suppression type flag, andthe fragmented return link packets 120, 130, 140 a and 140 b include a3-bit fragment identifier (FragID) field.

Also, all the types of return link packets may selectively include aPPDU label (PPDU_Label) field for defining a fragment switching label.Among the fragmented packets, the start packet 120 and the end packets140 a and 140 b may selectively include an ALPDU section(ALPDU_Fragment), but the intermediate packet 130 includes the ALPDUsection (ALPDU_Fragment).

The start packet 120 includes a total length (Total_Length) fieldindicating a length of a whole packet before fragmentation. In areassembly process of return link packets in a method of detecting apacket error of a return link according to an example embodiment of thepresent invention, the total length (Total_Length) information is usedas a reference for detecting a reassembly error. For example, althoughan end packet is received among return link packets and reassembled, atotal packet length may be less or greater than a length defined in thetotal length field. This case indicates that an error has occurred inthe reassembly process.

Also, the start packet 120 includes a 1-bit C field indicating whetheran ALPDU sequence number field or an ALPDU cyclic redundancy check (CRC)field is included in the end packets 140 a and 140 b. For example, the Cfield that is set to 1 indicates that an ALPDU CRC field is used in anend packet (e.g., 140 b), and the C field that is set to 0 indicatesthat an ALPDU sequence number field is used in an end packet (e.g., 140a).

Meanwhile, the end packets 140 a and 140 b include a sequence number(SeqNo) field or a CRC field. Sequence number information included inthe sequence number (SeqNo) field is used for detecting a reassemblyerror of return link packets in a method of detecting a packet error ofa return link according to an example embodiment of the presentinvention. For example, a satellite terminal device sets a sequencenumber field value of an end packet using a value of change in sequencenumber information on a subsequent packet during packet fragmentationand then transmits the end packet, and a central station that receives areturn link packet compares the sequence number information included inthe received end packet with sequence number information on thesubsequent packet and determines that there is no error in reassembly ofthe return link packet when the sequence number information on thesubsequent packet is the same as the sequence number information on thecurrently received end packet.

FIG. 2 is a flowchart illustrating a method of detecting a packet errorof a return link in a satellite communication system according to anexample embodiment of the present invention. The method of detecting apacket error of a return link illustrated in FIG. 2 can be performed ina central station that receives a plurality of packets transmitted froma satellite terminal device (or terminal station) through the returnlink.

Referring to FIG. 2, a central station receives a plurality of returnlink packets from a satellite terminal device (step 210). In abidirectional satellite communication system, broadcasting and/orcommunication data transmission from a central station to a satelliteterminal device (or terminal station) is performed through a forwardlink according to a Digital Video Broadcasting via Satellite (DVB-S)standard, and broadcasting and/or communication data transmission fromthe satellite terminal device (or terminal station) to the centralstation is performed through a return link according to a DVB-ReturnChannel via Satellite (RCS) standard. Thus, the satellite terminaldevice transmits the plurality of packets through a return link, and thecentral station receives the packets.

As illustrated in FIG. 1, one return link packet may be fragmented intoa plurality of packets by the satellite terminal device, and then thefragmented packets may be transmitted in sequence. For example, thereturn link packet may be fragmented into a start packet, anintermediate packet and an end packet, and then sequentially transmittedfrom the satellite terminal device to the central station through thereturn link. Among the return link packets, the end packet includessequence number information on the packet before fragmentation.

The central station generates a first return link packet by assemblingthe received return link packets (step 220). Here, the first return linkpacket denotes an assembly-resultant packet, and two or more return linkpackets may be assembled. The first return link packet may be in theform of a complete packet in which a start packet, an intermediatepacket and an end packet are assembled, or in the form of an incompletepacket in which a start packet, an intermediate packet and an end packetare not assembled. Also, the central station may generate the firstreturn link packet by sequentially assembling the received return linkpackets.

Subsequently, the central station performs comparative analysis of asecond return link packet received next to the first return link packet,thereby determining whether or not there is an error in the packetcombination (step 230).

At this time, the central station may compare the first return linkpacket with the second return link packet and analyze the first returnlink packet and the second return link packet using total length(Total_Length) information included in a header of the first return linkpacket and/or the second return link packet, thereby determining whetheror not there is an error in the packet combination. In other words, anerror of the packet combination can be determined by comparing the sumof a length of the first return link packet and a length of the secondreturn link packet with the total length (Total_Length) informationincluded in a start packet header of each return link packet.

Also, the central station may determine an error of the packetcombination by performing comparative analysis of presence or absence ofthe first return link packet and fragmentation information on the secondreturn link packet. Here, presence or absence of the first return linkpacket denotes whether the received return link packets have beenassembled in order of a start packet, an intermediate packet and an endpacket. In other words, presence of the first return link packet denotesthat a combination of the first return link packet is not complete, andabsence of the first return link packet denotes that a combination ofthe first return link packet is complete, or only an intermediate packethas been in the first return link packet and thus has been removed. Whenthere is no first return link packet, the second return link packetshould be a start packet. When the second return link packet is not astart packet but is an intermediate packet or an end packet, the secondreturn link packet is determined as an error.

When an end packet is included in the first return link packet, thecentral station checks sequence number (SeqNo) information included inthe end packet and sequence number information on a subsequent packet,thereby determining whether or not there is an error in the packet. Whenthe second return link packet is an end packet, the central stationcompares sequence number information on the first return link packetwith sequence number information included in the end packet of thesecond return link packet, thereby determining whether or not there isan error in the packet. In other words, when the sequence number of thereceived first return link packet and the sequence number of the secondreturn link packet do not continue in sequence according to sequencenumber information sequentially set when the satellite terminal devicefragments the packet, the central station determines the first returnlink packet and/or the second return link packet as an error.

FIG. 3 is a flowchart illustrating a packet error determination processshown in FIG. 2 in further detail, specifically, a packet errordetermination and packet reassembly process for a case in which there isa first return link packet.

Referring to FIG. 3, in a condition that there is the first return linkpacket generated through step 220 illustrated in FIG. 2, the centralstation receives a second return link packet that is a subsequent packet(step 301), and analyzes the received second return link packet asfollows.

First, the central station checks a start (S) field of the second returnlink packet to determine whether a start (S) bit is 0 (i.e., S=0) (step303). When it is determined that the start (S) bit is 1 (i.e., S=1), thecentral station removes the generated first return link packet (step305). The start (S) bit of 1 (S=1) denotes that the second return linkpacket is a non-fragmented packet or a start packet.

When there is the first return link packet, the whole packet has not yetbeen assembled, and thus the second return link packet should be anintermediate packet or an end packet. For this reason, when a startpacket or a non-fragmented packet is input as the second return linkpacket, the central station removes the first return link packet. Inother words, the central station determines that an intermediate packetor an end packet, which is the second return link packet to be assembledwith the first return link packet, has been lost. However, when thestart bit is 1, the second return link packet is a start packet or anon-fragmented packet, and there is no problem in generating the secondreturn link packet. Thus, the central station processes the secondreturn link packet as having been received normally (step 321).

When it is determined in step 303 that the start bit is 0 (i.e., S=0),the central station checks an end (E) field to determine whether an end(E) bit is 1 (i.e., E=1) (step 307). When the start bit is 0 and the endbit is 0 (i.e., S=0 and E=0), the second return link packet is anintermediate packet. When the start bit is 0 and the end bit is 1 (i.e.,S=0 and E=1), the second return link packet is an end packet.

When it is determined in step 307 that the end bit is 0 (i.e., S=0 andE=0), the central station determines whether a length of a combinationpacket of the first return link packet and the second return link packetis equal to or less than the total length (Total_Length), which isinformation included in the start packet of the first return link packet(step 309). When the start bit is 0 and the end bit is 0 (i.e., S=0 andE=0), the second return link packet is an intermediate packet, and thusthe length of the combination of the first return link packet and thesecond return link packet should be equal to or less than a total lengthof a completely assembled packet. Thus, when the length of thecombination is equal to or less than the total length (Total_Length),the central station processes both the first return link packet and thesecond return link packet normally (step 311). In other words, thecentral station determines that no error has occurred in the combinationof the first return link packet and the second return link packet.

On the other hand, when it is determined in step 309 that the length ofthe combination of the first return link packet and the second returnlink packet is greater than the total length, an error has occurred inthe combination of the first return link packet and the second returnlink packet, and thus the central station removes both the first returnlink packet and the second return link packet (step 313).

Meanwhile, when it is determined in step 307 that the end bit is 1(i.e., S=0 and E=1), the central station determines whether the lengthof the combination of the first return link packet and the second returnlink packet is the same as the total length (step 315). In other words,when the start bit is 0 and the end bit is 1, the second return linkpacket is an end packet, and thus the length of the combination packetof the first return link packet and the second return link packet shouldbe the same as the length of the whole packet.

For this reason, when the length of the combination packet of the firstreturn link packet and the second return link packet is not the same asthe total packet length, the central station removes both the firstreturn link packet and the second return link packet (step 317). Thisdenotes that an error has occurred in a process of assembling the firstreturn link packet and the second return link packet.

Meanwhile, when it is determined in step 315 that the length of thecombination of the first return link packet and the second return linkpacket is the same as the total length, the central station determineswhether sequence number information on a subsequent packet of the firstreturn link packet is the same as sequence number information on thesecond return link packet (step 319).

When it is determined in step 319 that the sequence number informationon the subsequent packet of the first return link packet is the same asthe sequence number information on the second return link packet, thecentral station processes the second return link packet as having beenreceived normally (step 321).

After the second return link packet is processed normally in step 311and step 321, or the first return link packet and/or the second returnlink packet are removed through step 305, 313 or 317, the centralstation updates sequence number information on a packet to be receivednext (step 323). At this time, the central station may store the updatedsequence number information in a storage prepared therein. When a newstart packet is received while the first return link packet isassembled, the sequence number of the subsequent packet is increased by1, or the sequence number information on the subsequent packet isupdated using the sequence number information included in the end packetof the received second return link packet. Thus, when a new packet isreceived thereafter, the sequence number of the packet updated on thebasis of the previously received packet is compared with sequence numberinformation included in an end packet of the currently received packet.When the sequence number of the packet updated on the basis of thepreviously received packet is the same as the sequence numberinformation included in the end packet of the currently received packet,it is possible to determine that there is no error in the combination ofthe first return link packet and the second return link packet.

FIG. 4 is a conceptual diagram illustrating a process of determining apacket error using sequence number information on a return link packetillustrated in FIG. 3. (a) of FIG. 4 illustrates a case in which thereis no error in a packet combination, and (b) of FIG. 4 illustrates acase in which there is an error in a packet combination.

Referring to (a) of FIG. 4, the leftmost packet is an end packet 401 andincludes sequence number information “11” in a sequence number (SeqNo)field. In other words, the sequence number information included in theend packet 401 indicates that a number of the current packet is 11, anda number of a packet to be received next is 12.

After the end packet 401, a start packet 403, an intermediate packet 405and an end packet 407 are fragmentarily received in sequence. In thiscase, sequence number information included in the second end packet 407is 12, and thus it is possible to know that the packets have beenreceived normally. Here, the sequence number information included in thesecond end packet 407 indicates that a number of a packet to be receivednext is 13.

After the second end packet 407, a start packet 409, an intermediatepacket 411 and an end packet 413 are fragmentarily received, andsequence number information “13” is included in a sequence number fieldof the third end packet 413. Thus, it is possible to know that a packethaving the sequence number estimated from the second end packet 407 hasbeen received, and no error has occurred in a combination of thesereturn link packets.

Meanwhile, referring to (b) of FIG. 4, the leftmost packet is a firstend packet 421 that is received the earliest and has sequence number(SeqNo) information “11,” which indicates that sequence numberinformation on a packet to be received next is 12. After the first endpacket 421, a start packet 423 and an intermediate packet 425 arereceived and then assembled to generate a first return link packet.After the first return link packet is generated, a start packet 429, anintermediate packet 431 and an end packet 433 that are new subsequentreturn link packets are received in sequence and constitute a secondreturn link packet.

When the return link packets are received as shown in (b) of FIG. 4, asecond end packet 427 has been lost, but a sequence number of thesubsequent packet is updated with 13 by the start packet 429 receivedafter the second end packet 427. Thus, the first return link packets 423and 425 are processed as having been lost, but the second return linkpackets 429, 431 and 433 are assembled normally.

FIG. 5 is a flowchart illustrating a packet error determination processshown in FIG. 2 in further detail, specifically, a packet errordetermination and packet reassembly process for a case in which there isno first return link packet. Here, the case in which there is no firstreturn link packet may denote that a combination of received firstreturn link packets has been completed, or a first return link packethas been removed in a packet reassembly process.

Referring to FIG. 5, in a condition that there is no first return linkpacket that is being assembled, the central station receives a secondreturn link packet (step 501), and performs a packet error determinationand packet reassembly process of the received second return link packetas will be described below.

First, the central station determines whether a start bit of thereceived second return link packet is 0 (i.e., S=0) (step 503). Here,the start bit of 0 denotes that the received second return link packetis an intermediate packet or an end packet, and the start bit of 1denotes that the received second return link packet is a non-fragmentedpacket or a start packet.

When it is determined in step 503 that the start bit is not 0 (i.e.,S=1), the central station determines that the second return link packethas been received normally, and processes the second return link packetnormally (step 505).

Subsequently, the central station checks whether a packet (e.g., aremoved first return link packet) which has been received immediatelybefore the packet having the start bit of 1 is an intermediate packet(step 507). When the packet is an intermediate packet, the centralstation updates a sequence number of a subsequent return link packet(step 509), and when the packet is not an intermediate packet, thecentral station does not update the sequence number information.

On the other hand, when it is determined in step 503 that the start bitis 0 (i.e., S=0), the received second return link packet is anintermediate packet or an end packet. Thus, the central stationdetermines that a part of a packet is lost, and removes the receivedsecond return link packet (step 511).

Subsequently, the central station determines whether an end bit is 1(i.e., E=1) (step 513). When it is determined that the end bit is 1, thecentral station updates sequence number information on the next returnlink packet (step 509).

On the other hand, when it is determined in step 513 that the end bit is0, the second return link packet received in step 501 is an intermediatepacket. Thus, the central station stores packet process stateinformation indicating that a type of the currently processed packet isan intermediate packet such that the sequence number information can beupdated by a start packet which may be input next (step 515).

FIG. 6 is a conceptual diagram illustrating a process of determining anerror of a packet combination using packet process state informationillustrated in FIG. 5. (a) of FIG. 6 illustrates a case in which thereis no error in a packet combination, and (b) of FIG. 6 illustrates acase in which there is an error in a packet combination.

Referring to (a) of FIG. 6, the leftmost packet is a first end packet601 which is received the earliest and includes sequence numberinformation “11” in a sequence number field. In other words, thesequence number information included in the first end packet 601indicates that a number of the current packet is 11, and a sequencenumber of a packet to be received next is 12.

Subsequently, among a start packet 603, an intermediate packet 605 andan end packet 607 which are return link packets, the start packet 603and the end packet 607 are lost, and only the intermediate packet 605 isreceived. Thus, a first return link packet is not generated. As secondreturn link packets that are new return link packets received after theintermediate packet 605, a start packet 609, an intermediate packet 611and an end packet 613 are received in sequence.

When the return link packets are received as described above, sequencenumber information on the received second end packet 613 indicates 13,which is different from 12, the sequence number information on thesubsequent packet determined on the basis of the received first endpacket 601. Thus, in an existing packet error determination method, anerror would be considered to have occurred in the packet combination,and the second return link packets 609, 611 and 613 would be removedeven when these packets were received normally.

However, in a packet error detection method according to an exampleembodiment of the present invention, as shown in (b) of FIG. 6,information indicating that an intermediate packet 625 has been receivedfor a first return link packet of which a start packet 623 and an endpacket 627 have been lost is stored as packet process state information,and when a start packet 629 is received thereafter, sequence numberinformation on a subsequent packet is updated with 13. Thus, sequencenumber information “13” of normally received second return link packetsis the same as the updated sequence number information “13” on thesubsequent packet, and the second return link packets 629, 631 and 633are not removed but assembled normally.

As illustrated in FIG. 5 and FIG. 6, in a method of detecting a packeterror of a return link according to an example embodiment of the presentinvention, when at least one intermediate packet is received as a firstreturn link packet, packet process state information is stored, and whena start packet of a second return link packet is received thereafter,sequence number information on a subsequent packet is updated. Thus, itis possible to prevent the normally received second return link packetfrom being removed, and thereby packet reassembly performance can beimproved.

In the above-described method of detecting a return link packet error ina satellite communication system, whether or not there is an error in apacket transmitted from a satellite terminal device through a returnlink can be determined using sequence number information on the packetand packet process state information, and the received packet isreassembled on the basis of the determination result. Consequently, itis possible to minimize packet loss caused by a reassembly error of thereceived packet.

While example embodiments of the present invention and their advantageshave been described in detail, it should be understood that variouschanges, substitutions and alterations may be made herein withoutdeparting from the scope of the invention.

What is claimed is:
 1. A method of detecting packet error of a returnlink performed in a satellite communication apparatus receiving packetsthrough the return link, comprising: generating a first return linkpacket combination by assembling at least one fragmented packet receivedthrough the return link; and determining if there is an error of thefirst return link packet combination using at least one of fragmentationinformation on at least one second return link packet received after thefirst return link packet combination is generated and packet processstate information, wherein the error of the first return link packetcombination is determined when the first return link packet combinationis complete and when the first return link packet combination is notcomplete.
 2. The method of claim 1, further comprising: when the firstreturn link packet combination is not complete and the second returnlink packet is an intermediate packet or an end packet, determining ifthere is the error of the first return link packet combination on thebasis of a comparison result between a length of a combination of thefirst return link packet combination and the second return link packetand a total length acquired from the first return link packetcombination.
 3. The method of claim 2, further comprising: when thefirst return link packet combination is not complete, the second returnlink packet is an intermediate packet, and the length of the combinationof the first return link packet combination and the second return linkpacket is greater than the total length, removing the first return linkpacket combination and the second return link packet.
 4. The method ofclaim 2, further comprising: when the first return link packetcombination is not complete, the second return link packet is an endpacket, the length of the combination of the first return link packetcombination and the second return link packet is the same as the totallength, and a sequence number of a subsequent packet acquired from thefirst return link packet combination is the same as a sequence number ofthe second return link packet, determining that there is no error in thesecond return link packet, and when the first return link packetcombination is not complete, the second return link packet is an endpacket, and the length of the combination of the first return linkpacket combination and the second return link packet is not the same asthe total length, or the sequence number of the subsequent packetacquired from the first return link packet combination is not the sameas the sequence number of the second return link packet, removing thefirst return link packet combination and the second return link packet.5. The method of claim 2, further comprising: when the first return linkpacket combination is not complete, and the second return link packet isa start packet or a non-fragmented packet, removing the first returnlink packet combination; determining that no error has occurred in thesecond return link packet and updating sequence number information onanother packet to be received after the second return link packet. 6.The method of claim 1, further comprising: when only an intermediatepacket is included in the first return link packet combination, storingan intermediate packet process state as the packet process stateinformation, and removing the intermediate packet.
 7. The method ofclaim 6, further comprising: when the second return link packet receivedafter the intermediate packet is removed is a start packet, checkingfrom the packet process state information that the intermediate packethas been removed, and updating a sequence number of another packet to bereceived.